<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>博客列表</title>
    <link rel="stylesheet" href="css/list.css">
    <link rel="stylesheet" href="css/blog_list.css">
    <script src="js/jquery.min.js"></script>
    <script src="js/urlTools.js"></script>
    <script src="js/sessionTools.js"></script>
    <style>
        
        .nav{
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            height: 50px;
        }
        .container{
            padding-top: 80px;
            height: auto;
        }
        .container-right{
            width: auto;
        }
        .blog-pagnation-wrapper{
            height: 40px;
            margin: 16px 0;
            text-align: center;
        }
        .blog-pagnation-item{
            display: inline-block;
            padding: 8px;
            border: 1px solid #d0d0d5;
            color: #333;
        }
        .blog-pagnation-item:hover{
            background: #4e4eeb;
            color: #fff;
        }
        .blog-pagnation-item.actvie{
            background: #4e4eeb;
            color: #fff;
        }

    </style>
</head>

<body>
    <!-- 导航栏 -->
    <div class="nav">
        <img src="img/logo2.jpg" alt="">
        <span class="title">我的博客系统</span>
        <!-- 用来占据中间位置 -->
        <span class="spacer"></span>
        <span id="LoginShow" style="display: flex; margin: 20px;">
            <a href="myblog_list1.html" >我的主页</a>
            <a href="personal_center.html">个人中心</a>
            <a href="blog_add.html">写博客</a>
            <a href="blog_draft.html">草稿箱</a>
            <a href="Javascript:exit()">注销</a>
        </span>
        <a id="notLogin" href="login.html" style="margin-right: 20px;">登陆</a>

    </div>
    <!-- 版心 -->
    <div class="container">
        <!-- 右侧内容详情 -->
        <div  class="container-right" style="width: 100%;">
            <!-- 每一篇博客包含标题, 摘要, 时间 -->
            <div id="myArticleList">

                <div class="blog" >
                    <div class="title">我的第一篇博客</div>
                    <div class="date">2021-06-02</div>
                    <div class="desc">正文</div>
                    <a href="blog_content.html?id=1" class="detail">查看全文 &gt;&gt;</a>
                </div>
            
            </div>
           
            <hr>
            <div id="pageDiv" class="blog-pagnation-wrapper">
                <button onclick="doFirst()" class="blog-pagnation-item">首页</button> 
                <button onclick="doUpPage()" class="blog-pagnation-item">上一页</button>  
                <button onclick="doDownPage()" class="blog-pagnation-item">下一页</button>
                <button onclick="doLast()" class="blog-pagnation-item">末页</button>
            </div>
        </div>
    </div>

    <script>
        // 初次访问未传入值时, 以默认的 pageSize 和 PageIndex 为准
        var pageSize = 2; // 每页最大条数
        var pageIndex = 1; // 当前分页器位置
        var pageCount = 1; // 分页器的总页数

        // 初始化参数, 查看当前 url 中是否包含 pageSize 和 pageIndex
        function parmInit() {
            var parmPageSize = getParamByKey("pageSize");
            var parmPageIndex = getParamByKey("pageIndex");

            if(parmPageSize != null) {
                // 此时 rul 中传入了值
                pageSize = parmPageSize;
            }
            if(parmPageIndex != null) {
                // 此时 ulr 中传入了值
                pageIndex = parmPageIndex;
            }

            // 点击跳转的本质是分页的位置改变, 像后端请求当前分页器位置中页面的数据
            doAjax();

        }

        parmInit();

        // 去首页
        function doFirst() {
            if(pageIndex <= 1) {
                alert("当前已位于首页!");
                return false;
            }
            pageIndex = 1;

            // 点击跳转传入当前的 pageIndex 和 pageSize 给初始化方法中的 doAJax() 进行处理
            // 只负责传入位置
            location.href = "blog_list.html?pageIndex="+pageIndex+"&pageSize="+pageSize;

        }

        // 上一页
        function doUpPage() {
            if(pageIndex <= 1) {
                alert("当前已位于首页!");
                return false;
            }
            --pageIndex;
            location.href = "blog_list.html?pageIndex="+pageIndex+"&pageSize="+pageSize;
        }

        // 下一页
        function doDownPage() {
            if(pageIndex >= pageCount) {
                alert("当前已位于末页!");
                return false;
            }
            ++pageIndex;
            location.href = "blog_list.html?pageIndex="+pageIndex+"&pageSize="+pageSize;
        }

        function doLast() {
            if(pageIndex >= pageCount) {
                alert("当前已位于末页!");
                return false;
            }
            location.href = "blog_list.html?pageIndex="+pageCount+"&pageSize="+pageSize;
        }

        function doAjax() {

            // 查询当前数据库中文章总数, 放在初始化之中每次去加载同步更新用户添加删除文章
            jQuery.ajax({
                url:"/article/allarticle",
                type:'post',
                data:{},
                success:function(res) {
                    if(res.code == 200 && res.data > 0) {
                        pageCount = Math.ceil(res.data / pageSize);
                    }
                }
            });


            // 发送请求加载不同页的文章内容
            jQuery.ajax({
                url:"/article/getAllArticleByPage",
                
                type:'post',
                data:{'pageSize':pageSize, 'pageIndex':pageIndex},
                // res 中获取到的为文章对象数组
                success:function(res) {
                    if(res.code == 200 && res.data.length > 0) {
                        var artHtml = "";

                        for(var i = 0; i < res.data.length; i++) {
                            var item = res.data[i];

                            // 拼接文章
                            artHtml += '<div class="blog" >';
                            artHtml += '<div class="title">'+ item.title +'</div>';
                            artHtml += '<div class="date">'+ item.createtime +'</div>';
                            artHtml += '<div class="date">'+ item.description +'</div>';
                            artHtml += '<div class="desc">'+ item.content + '</div>';
                            artHtml += '<a href="blog_content.html?id='+ item.id +'" class="detail">查看全文 &gt;&gt;</a>';
                            artHtml += '</div>';
                        }

                        jQuery("#myArticleList").html(artHtml);
                    }else {
                        jQuery("#pageDiv").hide();
                        jQuery("#myArticleList").html("<h1 style='display: flex;justify-content: center;align-items: center;text-align: center;color: rgba(0, 0, 0, 0.5);'>快来做第一个发表文章的人吧 !</h1> ");
                    }
                }
            });

            
        }

        function isLogin() {
                jQuery.ajax({
                    url:"/user/islogin",
                    type:'post',
                    data:{},
                    success:function(res) {
                        if(res.code == 200 && res.data == 1) {
                            // 用户已经登陆, 隐藏登陆按钮
                            jQuery("#notLogin").hide();

                        }else {
                            jQuery("#LoginShow").hide();

                        }
                    }
                });
            }   
            isLogin();
    </script>
</body>
</html>